/*
提交链接：https://leetcode.cn/problems/minimize-the-maximum-difference-of-pairs/description/
2616. 最小化数对的最大差值
赖德檀 2024/9/17
*/

class Solution {
public:
bool test(vector<int>& nums,int mid,int p)
{
    int t=0;
    for(int i=1;i<nums.size();i++)
    {
        if(nums[i]-nums[i-1]<=mid)
        {
            i++;//分组,12 34(跳过23)
            t++;
        }
    }
    return t>=p;
}
    int minimizeMax(vector<int>& nums, int p) {
        sort(nums.begin(),nums.end());
        int l=0,r=nums[nums.size()-1]-nums[0];
        int mid=0;
        while(l<=r)
        {
            mid=(l+r)/2;
            if(test(nums,mid,p))
            r=mid-1;
            else
            l=mid+1;
        }
        return l;
    }
};